/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package model;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Map;

/**
 *
 * @author Alex
 */
public class Venta {
    private String nombreCliente;
    private String direccion;
    private double importe;

    private String formaPago;
    private Date fecha;
    private String identificador;
    private Carrito carrito;
    private Map<String,Venta> ventas;

    

    /**
     * @return the ventas
     */
    public Map<String, Venta> getVentas() {
        return ventas;
    }

    /**
     * @param ventas the ventas to set
     */
    public void setVentas(Map<String, Venta> ventas) {
        this.ventas = ventas;
    }
    

    

    /**
     * @return the nombreCliente
     */
    public String getNombreCliente() {
        return nombreCliente;
    }

    /**
     * @param nombreCliente the nombreCliente to set
     */
    public void setNombreCliente(String nombreCliente) {
        this.nombreCliente = nombreCliente;
    }

    /**
     * @return the direccion
     */
    public String getDireccion() {
        return direccion;
    }

    /**
     * @param direccion the direccion to set
     */
    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    /**
     * @return the importe
     */
    public double getImporte() {
        return importe;
    }

    /**
     * @param importe the importe to set
     */
    public void setImporte(double importe) {
        this.importe = importe;
    }

    /**
     * @return the fecha
     */
    public Date getFecha() {
        return fecha;
    }

    /**
     * @param fecha the fecha to set
     */
    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    /**
     * @return the identificador
     */
    public String getIdentificador() {
        return identificador;
    }

    /**
     * @param identificador the identificador to set
     */
    public void setIdentificador(String identificador) {
        this.identificador = identificador;
    }

    /**
     * @return the carrito
     */
    public Carrito getCarrito() {
        return carrito;
    }

    /**
     * @param carrito the carrito to set
     */
    public void setCarrito(Carrito carrito) {
        this.carrito = carrito;
    }

    public String generarIdentificador (Venta v){

        String id="";
        double im = v.getImporte();
        im=im/Math.sqrt(im);
        id=v.getNombreCliente()+String.valueOf(im);

        return id;
    }


  public void crearFicheroAdjunto(Venta v) throws IOException{
      
      FileWriter fichero = null;
        PrintWriter pw = null;
        try
        {
            String id = v.getIdentificador();
            fichero = new FileWriter("c:/"+id+".txt");
            pw = new PrintWriter(fichero);

            pw.println("Identificador de compra: ");
            pw.println(id);
            pw.println("Nombre de cliente: ");
            pw.println(v.getNombreCliente());
            pw.println("Dirección de envío:");
            pw.println(v.getDireccion());
            Carrito c = v.getCarrito();
            for (int i=0;i<c.getProductos().size();i++){
                pw.println("Producto "+i+": ");
                pw.println(c.getProductos().get(i).getNombre());
                pw.println(c.getProductos().get(i).getPrecio());
            }
            pw.println("Gracias por confiar en nosotros");


        } catch (Exception e) {
        } finally {
           
              fichero.close();
           
           
        }
    }



    /**
     * @return the formaPago
     */
    public String getFormaPago() {
        return formaPago;
    }

    /**
     * @param formaPago the formaPago to set
     */
    public void setFormaPago(String formaPago) {
        this.formaPago = formaPago;
    }
}